#pragma once
#include "interfaces.h"
#include "AssetData.h"
#include "Geometry.h"
#include "RandomEngine.h"

class RE_Texture : public AssetData
{
public:
	RE_Texture(Resource & res);
	~RE_Texture();

	static const AssetType m_TextureType;
	virtual const AssetType & GetAssetType()
	{
		return m_TextureType;
	}

	RE::IO::FilePath m_Source;
	union
	{
		LPDIRECT3DTEXTURE9 pd3d9Texture;
	};
	virtual bool Restore(); // basically, making sure the asset data is loaded and ready for use
	virtual bool Release();
};